package org.flexharmony.harmonizer.javadef;

import java.lang.annotation.Annotation;

import org.flexharmony.ASAcces;
import org.flexharmony.ASField;
import org.flexharmony.ASFieldType;
import org.flexharmony.ASVisiblity;

/**
 * Represents a runtime modifiable {@link ASField}.
 * 
 * @author Corey Baswell
 * @see ASField
 */
public class ASFieldImpl implements ASField
{
  public ASFieldType type = ASFieldType.NULL;

  public ASVisiblity visibility = ASVisiblity.NULL;

  public ASAcces access = ASAcces.NULL;

  public ASVisiblity propertyVisiblity = ASVisiblity.NULL;

  public String initialization = "";
  
  public ASFieldImpl()
  {}

  public ASAcces access()
  {
    return access;
  }

  public String initialization()
  {
    return initialization;
  }

  public ASVisiblity propertyVisiblity()
  {
    return propertyVisiblity;
  }

  public ASFieldType type()
  {
    return type;
  }

  public ASVisiblity visibility()
  {
    return visibility;
  }

  public Class<? extends Annotation> annotationType()
  {
    return ASField.class;
  }
}
